1. Field of the Invention
The present invention relates generally to databases and, more specifically, to parallel processing of data from databases.
2. Description of the Background Art
In many database systems, key-value lookups are performed through the use of B-Tree data structures. A B-Tree is an ordered data structure, with groupings of data at leaf nodes typically corresponding to a memory page in the database context. Under typical usage in a database, a B-Tree will serve as a tool for sorting the key-values in groupings corresponding to memory page size limits.
When performing database operations on data corresponding to a set of key-values, it is beneficial to allow multiple processors to resolve the operations in parallel when possible. This typically involves splitting the data in the B-Tree into two or more sets of data, for each processor or processor core to operate on. However, the techniques for splitting this data remain rudimentary at best, and do not realize the significant advantages that can be obtained through proper partitioning.
Accordingly, what is desired are techniques to improve parallelization of data sets represented by a B-Tree data structure.